﻿using System;
using System.Collections.Generic;
using System.ComponentModel.Composition;
using System.Linq;
using System.Text;
using Samba.Presentation.Common;

namespace Samba.Modules.SampleShellModule
{
    //Test Butonu için ViewModel sınıfı

    [Export]
    public class ShellButtonViewModel : ObservableObject 
    {
        [ImportingConstructor]
        public ShellButtonViewModel()
        {
            DisplayModuleCommand = new CaptionCommand<string>("Test Butonu", OnDisplayModule);
        }

        private void OnDisplayModule(string obj)
        {
            // Burası Display Module Butonuna Tıklayınca çalışıyor. 
            // Display Shell Module isimli bir Event Atıyoruz. Bu eventi SampleShellModule içinde yakalayıp 
            // aktif ekranı değiştireceğiz.
            EventServiceFactory.EventService.PublishEvent("Display Shell Module");
        }

        //Butonun command özelliğine bind edilen özellik.
        public ICaptionCommand DisplayModuleCommand { get; set; }
    }
}
